﻿<cfcomponent output="false" extends="com.cargopooling.apollo.event.EventManager" >

	<cffunction name="notifyBeforeUpdate" access="public" output="false" returntype="void">
		<cfset fireEvent('BeforeUpdate') />
	</cffunction>

	<cffunction name="notifyBeforeRead" access="public" output="false" returntype="void">
		<cfset fireEvent('BeforeRead') />
	</cffunction>

	<cffunction name="notifyBeforeCreate" access="public" output="false" returntype="void">
		<cfset fireEvent('BeforeCreate') />
	</cffunction>

	<cffunction name="notifyBeforeDelete" access="public" output="false" returntype="void">
		<cfset fireEvent('BeforeDelete') />
	</cffunction>

	<cffunction name="notifyBeforeList" access="public" output="false" returntype="query">
		<cfset fireEvent('BeforeList') />
	</cffunction>

	<cffunction name="notifyAfterUpdate" access="public" output="false" returntype="void">
		<cfset fireEvent('AfterUpdate') />
	</cffunction>

	<cffunction name="notifyAfterRead" access="public" output="false" returntype="void">
		<cfset fireEvent('AfterRead') />
	</cffunction>

	<cffunction name="notifyAfterCreate" access="public" output="false" returntype="void">
		<cfset fireEvent('AfterCreate') />
	</cffunction>

	<cffunction name="notifyAfterDelete" access="public" output="false" returntype="void">
		<cfset fireEvent('AfterDelete') />
	</cffunction>

	<cffunction name="notifyAfterList" access="public" output="false" returntype="query">
		<cfset fireEvent('AfterList') />
	</cffunction>
	
	<cffunction name="configureEvent" access="private" returntype="void" output="false">
		<cfscript>
		addEvent( 'BeforeUpdate' );
		addEvent( 'BeforeRead' );
		addEvent( 'BeforeCreate' );
		addEvent( 'BeforeDelete' );
		addEvent( 'BeforeList' );
		addEvent( 'AfterUpdate' );
		addEvent( 'AfterRead' );
		addEvent( 'AfterCreate' );
		addEvent( 'AfterDelete' );
		addEvent( 'AfterList' );
		</cfscript>
	</cffunction>

</cfcomponent>